/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ept.controller;

import com.ept.controller.util.JsfUtil;
import com.ept.entities.Utilisateur;
import com.ept.facade.UtilisateurFacade;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.el.ELContext;
import javax.faces.FacesException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;

/**
 *
 * @author Khalil
 */
@ManagedBean(name = "loginController")
@SessionScoped
public class LoginController implements Serializable, ActionListener {

    @EJB
    private UtilisateurFacade utilisateurFacade;
    private Utilisateur utilisateur;
    private String username;
    private String password;
    private int a;

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }

    public Utilisateur getUtilisateur() {
        return utilisateur;
    }

    public void setUtilisateur(Utilisateur utilisateur) {
        this.utilisateur = utilisateur;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String signIn() {
        System.out.println("imeeeeeen");
        this.setUtilisateur(utilisateurFacade.findByUserName(username));
        if (utilisateur == null) {
            JsfUtil.addErrorMessage("user not found");
            System.out.println("not found");
            return null;
        } else if (!(utilisateur.getUtilisateurPK().getPassword()).equals(this.password)) {



            JsfUtil.addErrorMessage("mot de passe incorrect");

            return null;
        } else {
            JsfUtil.addSuccessMessage("wellcom " + this.username);
            //System.out.println(this.UserName);
            //  FacesContext.getCurrentInstance().getExternalContext().redirect("categ.xhtml");
            if (!(utilisateur.getUtilisateurPK().getLogin()).equals("admin")){
                return "Les_Categories.xhtml?faces-redirect=true";
            }
            else{
                 return "admin.xhtml?faces-redirect=true";
            }
            // redirect to the specified logout page

        }
    }

    //      }else{
//          if(!utilisateur.getMotDePasse().equals(this.password)){
//              JsfUtil.addErrorMessage("password incorrect");
//              //System.out.println("passwd incorr");
//              return null;
//          }
    /**
     *
     * Creates a new instance of LoginController
     */
    public LoginController() {
    }

    @Override
    public void processAction(ActionEvent event) throws AbortProcessingException {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
}
